package com.ilancuo.datastructuresandalgorithmsinjava.ch06_recursion;

/**
 * Created by ilancuo on 2018/9/2.
 */
public class MergeApp {
    public static void main(String[] args) {
        int[] arrayA = {23, 47, 81, 95};
        int[] arrayB = {7, 14, 39, 55, 62, 74};
        int[] arrayC = new int[10];
        merge(arrayA, 4, arrayB, 6, arrayC);
        display(arrayC, 10);
    }


    private static void merge(int[] arrayA, int sizeA, int[] arrayB, int sizeB, int[] arrayC) {
        int aDex = 0, bDex = 0, cDex = 0;
        while (aDex < sizeA && bDex < sizeB)
            if (arrayA[aDex] < arrayB[bDex])
                arrayC[cDex++] = arrayA[aDex++];
            else
                arrayC[cDex++] = arrayB[bDex++];
        while (aDex < sizeA)
            arrayC[cDex++] = arrayA[aDex++];
        while (bDex < sizeB)
            arrayC[cDex++] = arrayB[bDex++];
    }

    private static void display(int[] theArray, int size) {
        for (int j = 0; j < size; j++)
            System.out.print(theArray[j] + " ");
        System.out.println();
    }
}
